How to Make (Almost) Anything

MAS 863 2010
Week 6: microcontroller programming.
assignment
  • read the ATtiny44 data sheet
  • add a button and LED to the serial echo hello-world board
  • program them to do something


  • so i started by indeed reading the data sheet of ATtiny44. well, i began with the summarized 22 page version. and it is amazing how much information is provided on the data sheet. it makes it so much easier to write codes as well as physically embed the individual components on circuit boards.

    designing a circuit board
    using a free version of EAGLE we populated a circuit board with ATtiny44 microprocessor, a switch, an RGB LED, a 1uf capacitor, 10k resistor, resistors, an AVR ISP SMD, a resonator, a 6 pin jumper (FTDI cable). below is the final image of the board layout which was exported in this format using this tuorial.

    eagle board

    machining and populating the circuit board
    this was almost too smooth to believe. here is a tutorial on how to make circuits using the Modela milling machine. after exporting the board below, it took less than 20 minutes on the modella.

    eagle board

    note that i generated the file twice because even after passing the test on eagle, when i used "path view", my traces were too close to certain components on the corners. i had to rearrange my traces again in all the places that seem to be problematic in the image generated on the cad.py.

    and after milling, soldering went pretty well too. smooth and shiny.

     board  board

    programing using my fabisp designed in week 2
    i went to the earlier session on programing and since my board was not done yet, we used a breadboard which contained a microprossesor, a red LED, a pull up resistor and a switch. i was able to program the microprossesor using my fab isp, and then made the LED to work with the switch.

     board  led

    programing the newly designed board.
    i began by testing Neil's program on my board. after successfully programing it, i then moved on to tweaking the code to see how it would work. i changed the printf output in the code to get this below.

    neil's board

    finally, i had to made my led work with my switch given that everything else does. after trying really hard on friday without success, i town. i am not sure what happened but it could be that the RGB LED which i had was faulty because there seemed to be power everywhere.

     board